Carga de paquetes
library(dplyr)
library(sf)
library(ggplot2)
library(leaflet)
library(DT)
library(plotly)
library(dplyr)
Carga de Capa Provincias
# Lectura de una capa vectorial (GeoJSON) de provincias de Costa Rica
provincias <- # objeto sf de datos vectoriales con geometrías de multipolígonos
st_read(
"c:/users/c09291/documents/provincias.gpkg", # archivo de datos de entrada
quiet = TRUE
) %>%
st_transform(4326) # transformación al sistema de coordenadas WGS84
Carga de dato Felinos
# Lectura de un archivo CSV con registros de presencia de felinos de Costa Rica
felinos <- # objeto sf de datos vectoriales con geometrías de puntos
st_read(
"c:/users/c09291/documents/felinos.csv", # archivo de datos de entrada
options = c(
"X_POSSIBLE_NAMES=decimalLongitude", # columna de longitud decimal
"Y_POSSIBLE_NAMES=decimalLatitude" # columna de latitud decimal
),
quiet = TRUE
)
# Asignación del sistema de coordenadas WGS84 al objeto felinos
st_crs(felinos) <- 4326
Visualizaciones de datos
Tablas
Registros de presencia
# Tabla interactiva del paquete DT
felinos %>%
st_drop_geometry() %>% # se suprime la columna de geometría
dplyr::select(species,
# selección de columnas
eventDate,
stateProvince,
locality,
decimalLongitude,
decimalLatitude) %>%
datatable(
options = list(
pageLength = 5,
# cantidad de registros en una página
language = list(url = '//cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json') # traducción al español
),
colnames = c(
# encabezados de las columnas
"Especie",
"Fecha",
"Provincia",
"Localidad",
"Longitud",
"Latitud"
)
)
Gráficos
Registros de presencia por especie
# Gráfico de barras de cantidad de registros por especie
# Gráfico ggplot2
grafico_registros_x_especie <-
felinos %>%
count(species) %>% # se realiza primero el conteo de registros por especies, para luego facilitar el ordenamiento de las barras
ggplot(aes(x = reorder(species, n), y = n)) +
geom_bar(stat = "identity") +
xlab("Especie") +
ylab("Registros de presencia") +
coord_flip() + # inversión de ejes
theme_minimal()
# Gráfico plotly
grafico_registros_x_especie %>%
ggplotly() %>%
config(locale = 'es') # traducción de etiquetas al español
Mapa
Registros de presencia
# Mapa leaflet básico con capas de altitud, provincias y registros de presencia de felinos
leaflet() %>%
addTiles() %>% # capa base de OSM
addCircleMarkers( # capa vectorial de puntos de registros de presencia
data = felinos,
stroke = F,
radius = 4,
fillColor = 'black',
fillOpacity = 1
)